/**
 * 
 */
package com.study.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import com.study.entity.GatewayHandlerEntity;

/**
 * @author Administrator
 * @date 2019年5月14日
 */
public interface GatewayHandlerEntityMapper {

	//在Mybatis3.0之后，加入了更强的注解功能。
	//SQL映射方式1.使用外部XML文件进行SQL映射，2.注解映射。
	
	/**
	 * 下面使用了接口和注解的方式来执行同样的代码 定义一个操作数据实体表的接口
	 * 
	 * 然后将接口注册到Mybatis的配置文件中即可
	 * <mappers> <mapper class="com.study.mapper.GatewayHandlerEntityMapper" />
	 * </mappers>
	 */
	@Select("SELECT id, handler_id as handerId,prev_handler_id as prevHandlerId FROM gateway_handler ORDER BY id desc")
	public List<GatewayHandlerEntity> getAll();
	
	/**
	 * 通常情况下，数据表对字段命名规则使用下划线进行分词的，而Java中却是使用驼峰式的命名规则，
	 * 那么是不是意味着我们在数据表中也要使用驼峰式命名规则，或是在查询语句中都要使用别名方式呢？
	 * 其实完全不必，Mybatis早早就替我们考虑到这点的，在Mybatis核心配置文件中，只需要添加以下代码，
	 * Mybatis就可以自动的将a_column转换为aColumn。
	 * 
	 * 要设置自动驼峰转换
	 */
	@Select("SELECT * FROM gateway_handler where id = #{id1}")
	public GatewayHandlerEntity get(@Param(value = "id1") int id);
	
	/**
     * 查询所有用户的信息
     * 
     * @return
     */
    public List<GatewayHandlerEntity> getObjects();//测试 数据库获取所有的 记录 方法；
    
    /**
     * 查询单个用户的信息
     * 
     * @return
     */
    public List<GatewayHandlerEntity> find(int id);
    
    /**
     * 插入信息
     * @return
     */
    public void insert(GatewayHandlerEntity u);
    
    /**
     * 更新信息
     * @return
     */
    public void update(GatewayHandlerEntity u);
    
    /**
     * 删除信息
     * @return
     */
    public void deleteById(int id);
}
